Wireless multimedia communications system and method

ABSTRACT

A system is provided comprising: a host computing device including: a wireless transceiver; and a processor configured to generate multimedia data for transmission via the wireless transceiver; and a movably-mounted client device including: a first set of wireless transceivers; a controller connected to the output assembly and each of the wireless transceivers; the controller configured to: assess respective performance attributes for each of the first set of transceivers; and based on the performance attributes, select a transceiver from the first set to receive the multimedia data from the host computing device; and an output assembly for presenting the multimedia data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. provisional patentapplication Nos. 62/366,279 and 62/366,317, both filed Jul. 25, 2016.The contents of each of the above applications is incorporated herein byreference.

FIELD

The specification relates generally to wireless communications, andspecifically to a wireless multimedia communications system with mobileclient devices served by a stationary host device.

BACKGROUND

Media streaming systems, such as virtual reality systems in which a userwears a headset or other device displaying video, may rely on a distincthost device such as a game console to generate the video and stream thevideo to the headset. In order to provide the bandwidth required tocarry the above-mentioned vide, such systems may compromise the mobilityof the headset. Alternatively, or in addition, such systems may reducethe available bandwidth in order to provide greater mobility to theheadset.

SUMMARY

According to an aspect of the specification, a system is providedcomprising: a host computing device including: a wireless transceiver;and a processor configured to generate multimedia data for transmissionvia the wireless transceiver; and a movably-mounted client deviceincluding: a first set of wireless transceivers; a controller connectedto the output assembly and each of the wireless transceivers; thecontroller configured to: assess respective performance attributes foreach of the first set of transceivers; and based on the performanceattributes, select a transceiver from the first set to receive themultimedia data from the host computing device; and an output assemblyfor presenting the multimedia data.

BRIEF DESCRIPTIONS OF THE DRAWINGS

Embodiments are described with reference to the following figures, inwhich:

FIG. 1 depicts a wireless multimedia communications system;

FIG. 2 depicts certain internal components of the client and hostdevices of the system of FIG. 1;

FIG. 3 depicts a method of wireless exchange of multimedia data;

FIGS. 4-7 depict the system 100 at various stages of the performance ofthe method of FIG. 3.

DETAILED DESCRIPTION

FIG. 1 depicts a wireless multimedia communication system 100 includinga host computing device 104 and a client computing device 108. Theclient computing device 108 is movably mounted. In the present example,the client computing device includes a head-mounted unit supported by aheadband or other mount that is wearable by an operator 112. In otherwords, the client device 108 is moveably mounted as a result of beingmounted on the operator 112, who is free to move relative to the hostdevice 104. The client device 108, in general, receives multimedia datafrom the host device 104 and presents the multimedia data to theoperator 112 via output devices such as a display, one or more speakers,and the like.

The host device 104 is typically, although not necessarily, stationary.The host device 104, as will be discussed in greater detail below,generates multimedia data for wireless transmission to the client device108 (and presentation to the operator 112). The nature of the multimediadata is not particularly limited; for example, the multimedia data caninclude static video and audio, in addition to or instead of dynamicallygenerated video and audio data, also referred to as virtual realitymultimedia data. The host device 104 can therefore be implemented as anysuitable computing device, including a desktop computer, laptopcomputer, gaming console, and the like.

In the present example, the client device 108 is a virtual reality (VR)headset. The client device 108 thus includes a housing 116 supportingthe other components of the client device 108, as discussed below. Thehousing 116, in turn, is supported on the operator 112 by way of aheadband or other mounting structure. The client device 108 can beimplemented as a dedicated VR headset, in which the components of theclient device 108 are integrally supported within the housing 116. Inother examples, the client device 108 is implemented as a holder for asmart phone or other portable computing device, which provides at leastsome of the above-mentioned output devices (e.g. the display) and mayalso provide certain data processing functions. The housing 116, in suchexamples, is configured to removably support such a portable computingdevice, and also to integrally support certain other components, such aswireless transceivers, to be discussed below. The housing 116, in suchexamples, also includes one or more connectors for electricallyconnecting the components internal to the housing 116 with the portablecomputing device.

The generation of VR multimedia data by the host device 104 fortransmission to the client device 108 typically includes obtainingpositional data for the client device. The host device 104 thereforeincludes, in the present example, at least one tracking device 120. Inthe illustrated example, the host device 104 includes a pair of trackingdevices 120-1 and 120-2, such as depth cameras (e.g. including infrared(IR) projectors and IR cameras), configured to determine the position ofthe client device 108, the operator 112, or both, relative to thetracking devices 120. The host device 104 is configured to receivepositional data from the tracking devices 120 (or to receive image ordepth data from the tracking devices 120 and determine positional data)and to dynamically generate VR multimedia data based on the positionaldata. Typically, the positional data is updated periodically (e.g. at arate of thirty times per second), and the generation of VR data isimplemented with the most recently obtained positional data. Thus, eachof a plurality of video frames and accompanying audio data generated bythe host device 104, for example, may be generated based on a newlyobtained position of the operator 112, client device 108, or both.

Having generated the VR data, the host device 104 is configured totransmit the VR data to the client device 108. More specifically, in thepresent example, in which the VR data is video data, the VR data isstreamed to the client device 108 simultaneously with the generation offurther VR data. The VR data is transmitted from the host device 104 tothe client device 108 wirelessly. For example, the host device 104 andthe client device 108 may establish a wireless connection with eachother based on any suitable wireless standard, such as the IEEE 802.11ad(WiGig) standard or enhancements thereof (e.g. 802.11ay). To that end,each of the client device 108 and the host device 104 include at leastone wireless transceiver.

In the illustrated example, the client device includes a plurality ofwireless transceivers 124-1, 124-2, 124-3 and 124-4. The transceivers124 are supported by the housing 116 and connected to internalprocessing components (not shown) of the client device 108 by anysuitable set of electrical connections (e.g. data buses or the like, notshown). As seen in FIG. 1, the transceivers 124 are spaced apart fromeach other on the housing 116. For example, each transceiver 124 isplaced at a different one of the upper corners of the housing 116. Awide variety of other spaced apart arrangements for the transceivers 124are also contemplated. As will be apparent in the discussion below, thearrangement of the transceivers 124 on the housing 116 is selected toenable the exchange of wireless data between at least one of thetransceivers 124 and the host device 104 at any given time, for any of aplurality of positions of the client device 108 relative to the hostdevice 104. In some examples, the transceivers 124 are placed on thehousing 116 such that at least one transceiver 124 has a line of sightto the host device 104 for any orientation of the client device 108.

The host device 104 in the present example also includes a plurality oftransceivers 128-1, 128-2, 128-3 and 128-4. In other examples, each ofthe host device 104 and the client device 108 can include differentnumbers of transceivers 124 and 128, respectively, than shown in FIG. 1.Further, the client device 108 and the host device 104 need not includethe same number of transceivers as one another.

In the example shown in FIG. 1, the transceivers 128 are placed on thetracking devices 120, which may in turn be supported on a stand,wall-mount or other mounting structure (not shown). Specifically, thetransceivers 128-1 and 128-2 are supported by the tracking device 120-1,and the transceivers 128-3 and 128-4 are supported by the trackingdevice 120-2. In other examples, the transceivers 128 may be distributeddifferently amongst the tracking devices 120 (e.g. all transceivers 128supported by the tracking device 120-2). In further examples, thetransceivers 128 are not supported by the tracking devices 120, but arerather supported on a housing of the host device 104 or any othersuitable support structure (e.g. a mast extending from the host device104 housing and distinct from the support structure for the trackingdevices 120).

As will be discussed in greater detail below, each of the host device104 and the client device 108 are configured to control their respectivetransceivers 124 and 128 to enable the continued exchange of multimediadata between devices in response to changes in wireless link qualityconditions. Such changes may be caused by the movement of the clientdevice 108 relative to the host device 104, by the presence of one ormore additional client devices (not shown), and the like. Beforediscussing the functionality of the host device 104 and the clientdevice 108, certain internal components of the host device 104 and theclient device 108 will be discussed with reference to FIG. 2.

Turning to FIG. 2, certain components of each of the host device 104 andthe client device 108 are illustrated. The host device 104 includes acentral processing unit (CPU), also referred to as a processor 200. Theprocessor 200 is interconnected with a non-transitory computer readablestorage medium, such as a memory 204, having stored thereon variouscomputer readable instructions in the form of an application 206 forexecution by the processor 200 to configure the host device 104 toperform various functions (e.g. generating and streaming multimedia datato the client device 108). The memory 200 includes a suitablecombination of volatile (e.g. Random Access Memory or RAM) andnon-volatile memory (e.g. read only memory or ROM, Electrically ErasableProgrammable Read Only Memory or EEPROM, flash memory). The processor200 and the memory 204 each comprise one or more integrated circuits.

The host device 104 may also include one or more input devices (e.g. akeyboard, mouse, game controller or the like, not shown), and one ormore output devices (e.g. a display, speaker and the like, not shown).Such input and output devices serve to receive commands for controllingthe operation of the host device 104 and for presenting information,e.g. to a user of the host device 104. The host device 104 alsoincludes, as noted in connection with FIG. 1, the tracking devices 120-1and 120-2 connected to the processor 200 for providing positional datato the processor 200.

The host device 104 further includes a wireless communications assembly212 interconnected with the processor 200. The communications assembly212 enables the host device 104 to communicate with other computingdevices, including the client device 108. In the present example, asnoted above, the assembly 212 enables such communication according tothe IEEE 802.11ad standard, and thus transmits and receives data atfrequencies of around 60 GHz.

The communications assembly 212 includes a controller 216 in the form ofone or more integrated circuits, configured to establish and maintaincommunications links with other devices. The controller 216 is alsoconfigured to process outgoing data for transmission via theabove-mentioned transceivers 128-1, 128-2, 128-3 and 128-4. As will nowbe apparent, each transceiver 128 includes a transceiver circuit (e.g.an integrated circuit or any other suitable hardware element) connectedto a steerable antenna array (e.g. a phased array of antenna elements).The controller 216 is further configured to receive transmissions fromthe transceivers 128 and process the transmissions for communication tothe processor 200. The controller 216, in the present example, includesa baseband processor, which may be implemented as one or more integratedcircuits preprogrammed to perform the functions discussed herein, orhaving stored thereon executable instructions that configured tocontroller 216 to perform those functions.

The client device 108 includes a central processing unit (CPU), alsoreferred to as a processor 250. The processor 250 is interconnected witha non-transitory computer readable storage medium, such as a memory 254,having stored thereon various computer readable instructions forexecution by the processor 250 to configure the client device 108 toperform various functions (e.g. receiving and rendering multimedia datafrom the host device 104). The memory 250 includes a suitablecombination of volatile (e.g. Random Access Memory or RAM) andnon-volatile memory (e.g. read only memory or ROM, Electrically ErasableProgrammable Read Only Memory or EEPROM, flash memory). The processor250 and the memory 254 each comprise one or more integrated circuits.

The client device 108 may also include one or more input devices 256(e.g. an eye-tracking device, microphone or the like), and one or moreoutput devices 258 (e.g. a display, speaker or the like). The inputdevices 256 serve to receive commands for controlling the operation ofthe client device 108, as well as commands for relaying to the hostdevice 104 to control certain aspects of the operation of the hostdevice 104. The output devices 258 serve to present information,including the multimedia data received from the host device 104, to theoperator 112.

The client device 108 further includes a wireless communicationsassembly 262 interconnected with the processor 250. The communicationsassembly 262 enables the client device 108 to communicate with othercomputing devices, including the host device 104. In the presentexample, as noted above, the assembly 262 enables such communicationaccording to the IEEE 802.11ad standard, and thus transmits and receivesdata at frequencies of around 60 GHz.

The communications assembly 262 includes a controller 266 in the form ofone or more integrated circuits, configured to establish and maintaincommunications links with other devices. The controller 266 is alsoconfigured to process outgoing data for transmission via theabove-mentioned transceivers 124-1, 124-2, 124-3 and 124-4. As will nowbe apparent, each transceiver 124 includes a transceiver circuit (e.g.an integrated circuit or any other suitable hardware element) connectedto a steerable antenna array (e.g. a phased array of antenna elements).The controller 266 is further configured to receive transmissions fromthe transceivers 124 and process the transmissions for communication tothe processor 250. The controller 266, in the present example, includesa baseband processor, which may be implemented as one or more integratedcircuits preprogrammed to perform the functions discussed herein, orhaving stored thereon executable instructions that configured tocontroller 266 to perform those functions.

Turning now to FIG. 3, the operation of the devices 104 and 108, andparticularly of the controllers 216 and 266, will be described ingreater detail. FIG. 3 illustrates a method 300 of wireless exchange ofmultimedia data. The method 300 will be described in conjunction withits performance on the system 100. As indicated in FIG. 3, certainblocks of the method 300 are performed by the client device 108, whileother blocks are performed by the host device 104.

At block 305, the client device 108, and more specifically thecontroller 266, is configured to select one of the transceivers 124 andto initiate communications with the host device 104 via the selected oneof the transceivers 124. The selection at block 305 may be the selectionof a preconfigured default transceiver 124, or may be based on anassessment of the performance of each of the transceivers 124, asdiscussed in greater detail below.

At block 310, the host device 104 is configured to enable a first one ofthe transceivers 128 (e.g. a preconfigured default transceiver). Theenablement of the transceiver 128 can be performed in response to arequest to initiate communications generated by the client device 108 atblock 305 and sent to the host device 104. For example, the transceivers128 of the host device 104 may be placed in a low-power mode until sucha request is detected, at which point the controller 216 may beconfigured to enable (i.e. switch to a fully operational mode) one ofthe transceivers 128. In other examples, however, the performance ofblock 310 precedes the performance of block 305. For example, the hostdevice 104 can be configured to maintain a transceiver in an enabledstate in order to periodically broadcast an identifier (e.g. an SSID) ofthe host device 104 or a local-area network hosted by the host device104. The client device 108 initiates communications at block 305 byenabling a transceiver 124 and sending a request including theabove-mentioned identifier (as well as an identifier of the clientdevice 108 itself).

In general, therefore, via the performance of blocks 305 and 310, theclient device 108 and the host device 108 are configured to establish awireless connection with each other. Referring briefly to FIG. 4, aconnection 400 is shown having been established between the host device104 and the client device 108. In particular, the connection 400 isestablished between the transceiver 128-2 of the host device 104 and thetransceiver 124-1 of the client device 108. As will be apparent, theestablishment of the connection can also include a suitable beamformingprocedure when the antennas deployed with the transceivers 124 and 128are steerable arrays.

Returning to FIG. 3, at blocks 315-1 and 315-2, the client device 108and the host device 104 are configured to exchange data over theconnection 400. In the present example, as noted above, the host device104 is configured to generate VR multimedia data for presentation to theoperator 112 by the client device 108. The exchange of data at blocks315 includes, therefore, the receipt of positioning data at theprocessor 200 from the tracking devices 120. The host device 104 mayalso receive additional positioning data (e.g. eye tracking data) fromthe client device 108 itself. Based on the positioning data, the hostdevice 104 is configured to generate multimedia data and transmit themultimedia data to the client device 108, which is configured to presentthe multimedia data to the operator 112 via the output device 258.

At block 320, the client device 108 is configured to determine whetherone or more transceiver assessment criteria have been met. When thetransceiver assessment criteria have been met, the client device 108proceeds to block 325, at which the performance of each transceiver 124is assessed, as will be discussed below in further detail. When thetransceiver assessment criteria have not been met, however, theperformance of the method 300 returns to block 315, at which the clientdevice 108 continues to exchange data with the host device 104 using thepreviously selected transceiver 124 (in the present example performanceof the method 300, the transceiver 124-1 selected at block 305).

The client device 108, in other words, is configured to periodicallyassess transceiver performance, and the period between such assessmentsare determined by the transceiver assessment criteria. Varioustransceiver assessment criteria are contemplated, and the criteriaexamined by the controller 266 in the determination at block 320 includeany one or, of any suitable combination of, those criteria. For example,the criteria can include a time period (e.g. a preconfigured time periodstored by the controller 266, such as five seconds). The criteria canalso include a performance threshold for the currently activetransceiver 124. For example, the controller 266 may be configured tocontinuously monitor one or more performance attributes of thetransceiver 124 employed at block 315. When a performance attributefalls below a preconfigured threshold, the determination at block 320 isaffirmative. Examples of the performance attributes include a receivedsignal strength indicator (RSSI) and a signal-to-noise ratio (SNR)generated from signals received at the active transceiver 124 from thehost device 104.

When the determination at block 320 is affirmative, at block 325 thecontroller 266 is configured to switch each of the transceivers 124 fromthe above-mentioned low-power state to an enabled, or active, state. Thecontroller 266 is then configured, for each transceiver 124 (that is,for each of the previously inactive transceivers as well as the activetransceiver selected to exchange data at block 315), to assess theperformance of the transceiver 124. The assessment of performance for agiven transceiver includes a measurement of one or more performanceattributes by the controller 266, such as the above-mentioned RSSI andSNR. The performance attributes can be measured based on transmissionsreceived from the host device 104 and addressed to the activetransceiver 124 (i.e. containing the multimedia data). In otherexamples, the performance attributes can be measured by transmitting,via each transceiver 124, a request to the host device 104 and receivingfeedback from the host device 104 (i.e. from the transceiver 128-2 inthe present example performance of the method 300) indicating the RSSIand/or SNR detected at the host device 104 based on the request.

The controller 266 is configured to complete the performance of block325 by updating the transceiver selection originally made at block 305based on the performance assessment discussed above. For example, thecontroller 266 can be configured to select the transceiver for which thehighest performance attribute or combination of attributes weremeasured. In some examples, the controller 266 is also configured toapply a minimum threshold to at least one of the performance attributes.That is, for example, the controller 266 may be configured to select thetransceiver, from a set of the transceivers 124 having an SNR thatexceeds a preconfigured minimum, having the greatest RSSI.

Following the update of the transceiver selection, the controller 266 isconfigured to return to block 315-1 to continue the exchange of datawith the host device 104, using the updated transceiver selection fromblock 325. The unselected transceivers 124 are set to a low-power statein some examples. As will now be apparent, in some examples the updatedselection at block 325 may result in the selection of the sametransceiver 124 as was selected at block 305.

Turning to FIG. 5, the system 100 is shown following a performance ofblocks 320 and 325 by the client device 108. In particular, as a resultof the movement of the operator 112 relative to the host device 104, theperformance assessment conducted by the controller 266 resulted in theselection of the transceiver 124-3 rather than the transceiver 124-1.The connection 400 between the client device 108 and the host device 104is therefore migrated, at the client device 108, to the transceiver124-3. The connection 400 is thus illustrated as an updated connection400′ in FIG. 5. As will be apparent to those skilled in the art, theclient device 108 and the host device 104 may update certain parametersdefining the connection 400′. For example, a beamforming protocol may beperformed, and the host device 104 may update connection parametersstored at the controller 216 to include an identifier of the transceiver124-3 rather than the transceiver 124-1.

As will now be apparent, the host device 104 (and more specifically, thecontroller 216) can also be configured to perform a determination ofwhether assessment criteria have been met, and an assessment of theperformance of each transceiver 128 as well as an updated selection ofwhich transceiver 128 with which to implement the connection 400. Theassessment of performance and updated transceiver selection at the hostdevice 104 is performed independently of blocks 320 and 325 at theclient device 108.

The host device 104 is also configured to control the transceivers 128based on a detected number of client devices 108 in the system 100.Returning to FIG. 3, at block 330, the host device 104 is configured todetermine whether an additional client device 108 has been detected. Thedetermination at block 330 need not be linked temporally to theperformance of blocks 320 and 325 by the client device 108 (that is, thedetermination at block 330 may be performed before, after, or bothbefore and after blocks 320 and 325 are performed by the client device108).

Throughout the performance of the method 300, the host device 104 may beconfigured to monitor signals received at the transceiver 128-2 (or anyother active transceiver 128) for requests from other client devices toinitiate communications with the host device 104. When no such requestsare detected, the determination at block 330 is negative, andperformance of the method 300 returns to block 315-2. Referring to FIG.6, a further client device 608 (e.g. worn by a further operator 612) isshown transmitting a request 616 to the host device 104, which isdetected at the transceiver 128-2. The determination at block 330 istherefore affirmative, and performance of the method 300 proceeds toblock 335.

At block 335, the controller 216 is configured to determine whether allof the transceivers 128 are enabled (i.e. in an active state). Asdiscussed earlier, the host device 104 is configured to place anytransceivers 128 not enabled at block 310 in a low-power state. As willbe apparent, however, additional client devices result in the enablementof additional transceivers 128. When no further transceivers 128 remainin the low-power state, the determination at block 335 is affirmative,and at block 340 the controller 216 is configured to refuse theadditional client request. In other examples, at block 340 thecontroller 216 may be configured to initiate further beamformingrefinement with the client device 108 and assessing the performance ofthe connection 400 prior to refusing the additional client device.

When the determination at block 335 is negative, however—as in theexample shown in FIG. 6, in which three of the transceivers 128 remainin a low-power state—the controller 216 proceeds to block 345, at whicha second (or subsequent, if multiple client devices are alreadyconnected to the host device 104) transceiver 128 is enabled. At block350, the additional client device 608 is migrated to the secondtransceiver and data exchange continues with both client devices 108 and608 at block 315-2. Referring to FIG. 7, the transceiver 128-3 has beenenabled, and communications between the host device 104 and the clientdevice 608 have been migrated to the newly enabled transceiver 128-3.

The scope of the claims should not be limited by the embodiments setforth in the above examples, but should be given the broadestinterpretation consistent with the description as a whole.

The invention claimed is:
 1. A system, comprising: (a) host computingdevice including: (i) a host wireless transceiver, and (ii) a processorconfigured to generate multimedia data for transmission via the hostwireless transceiver to a movably-mounted client device; and (b) themovably-mounted client device including: (i) a single housing, (ii) adisplay supported by the single housing, for presenting the multimediadata; (iii) a first set of wireless transceivers supported by the singlehousing, and (iv) a controller supported by the single housing, thecontroller connected to the display and each of the wirelesstransceivers, the controller configured to: assess respective wirelesslink conditions for respective wireless links between the host computingdevice and each of the first set of wireless transceivers, and based onthe wireless link conditions, select one of the wireless transceiversfrom the first set of wireless transceivers to receive the multimediadata from the host computing device.
 2. The system of claim 1, thecontroller further configured to periodically repeat (i) the assessmentof the wireless link conditions, and (ii) the selection of a transceiverbased on the wireless link conditions.
 3. The system of claim 1, thecontroller further configured, following the selection of the one of thewireless transceivers, to place the remaining wireless transceivers inthe first set of wireless transceivers in a low-power state.
 4. Thesystem of claim 1, wherein the wireless transceivers are spaced apart onthe housing.
 5. The system of claim 1, the host computing device furthercomprising: a second set of wireless transceivers; and a host controllerconnected to each of the second set of wireless transceivers, the hostcontroller configured to: enable a first one of the second set ofwireless transceivers for transmitting the multimedia data to the clientdevice; and place the remaining transceivers of the second set in alow-power state.
 6. The system of claim 5, the host controller furtherconfigured to: detect a request for further multimedia data from afurther client device; and responsive to the detection, enable a secondone of the second set of wireless transceivers for transmitting thefurther multimedia data to the further client device.
 7. The system ofclaim 1, the host computing device further comprising a tracking deviceconfigured to generate positional data for the client device; whereinthe host wireless transceiver is mounted on the tracking device.
 8. Amethod, comprising: at a host computing device including a host wirelesstransceiver and a processor, generating multimedia data for transmissionvia the wireless transceiver; at a movably-mounted client deviceincluding (i) a single housing, (ii) a display supported by the singlehousing for presenting the multimedia data, (iii) a first set ofwireless transceivers supported by the single housing, and (iv) acontroller supported by the single housing and connected to the outputdevice and each of the wireless transceivers: assessing respectivewireless link conditions for respective wireless links between the hostcomputing device and each of the first set of wireless transceivers; andbased on the wireless link conditions, selecting one of the wirelesstransceivers from the first set of wireless transceivers to receive themultimedia data from the host computing device.
 9. The method of claim8, further comprising, at the controller; periodically repeating (i) theassessment of the wireless link conditions, and (ii) the selection of atransceiver based on the wireless link conditions.
 10. The method ofclaim 8, further comprising, at the controller, following the selectionof the one of the wireless transceiver: placing the remainingtransceivers in the first set of wireless transceivers in a low-powerstate.
 11. The method of claim 8, further comprising, at a hostcontroller connected to a second set of wireless transceivers of thehost computing device: enabling a first one of the second set ofwireless transceivers for transmitting the multimedia data to the clientdevice; and placing the remaining transceivers of the second set in alow-power state.
 12. The method of claim 11, further comprising, at thehost controller: detecting a request for further multimedia data from afurther client device; and responsive to the detection, enabling asecond one of the second set of wireless transceivers for transmittingthe further multimedia data to the further client device.
 13. The systemof claim 1, wherein the wireless link condition for each wireless linkincludes at least one of a received signal strength indicator (RSSI) anda signal-to-noise (SNR) ratio.